home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / XING Playe22067722001.psc / modDecoder.bas < prev   
Encoding:
BASIC Source File  |  2001-06-28  |  20.0 KB  |  662 lines

  1. Attribute VB_Name = "modDecoder"
  2. Option Explicit
  3.  
  4. Public Const XA_DECODER_EQUALIZER_NB_BANDS = 31
  5.  
  6. 'MESSAGE CODES
  7. Public Enum XA_MessageCode
  8.     XA_MSG_UNKNOWN = 0
  9.     
  10.     'commands to decoder
  11.     XA_MSG_COMMAND_EXIT = 1
  12.     XA_MSG_COMMAND_SYNC = 2
  13.     XA_MSG_COMMAND_PING = 3
  14.     XA_MSG_COMMAND_PLAY = 4
  15.     XA_MSG_COMMAND_PAUSE = 5
  16.     XA_MSG_COMMAND_STOP = 6
  17.     XA_MSG_COMMAND_SEEK = 7
  18.     XA_MSG_COMMAND_INPUT_OPEN = 8
  19.     XA_MSG_COMMAND_INPUT_CLOSE = 9
  20.     XA_MSG_COMMAND_INPUT_SEND_MESSAGE = 10
  21.     XA_MSG_COMMAND_INPUT_ADD_FILTER = 11
  22.     XA_MSG_COMMAND_INPUT_REMOVE_FILTER = 12
  23.     XA_MSG_COMMAND_INPUT_FILTERS_LIST = 13
  24.     XA_MSG_COMMAND_INPUT_MODULE_REGISTER = 14
  25.     XA_MSG_COMMAND_INPUT_MODULE_QUERY = 15
  26.     XA_MSG_COMMAND_INPUT_MODULES_LIST = 16
  27.     XA_MSG_COMMAND_OUTPUT_OPEN = 17
  28.     XA_MSG_COMMAND_OUTPUT_CLOSE = 18
  29.     XA_MSG_COMMAND_OUTPUT_SEND_MESSAGE = 19
  30.     XA_MSG_COMMAND_OUTPUT_MUTE = 20
  31.     XA_MSG_COMMAND_OUTPUT_UNMUTE = 21
  32.     XA_MSG_COMMAND_OUTPUT_RESET = 22
  33.     XA_MSG_COMMAND_OUTPUT_DRAIN = 23
  34.     XA_MSG_COMMAND_OUTPUT_ADD_FILTER = 24
  35.     XA_MSG_COMMAND_OUTPUT_REMOVE_FILTER = 25
  36.     XA_MSG_COMMAND_OUTPUT_FILTERS_LIST = 26
  37.     XA_MSG_COMMAND_OUTPUT_MODULE_REGISTER = 27
  38.     XA_MSG_COMMAND_OUTPUT_MODULE_QUERY = 28
  39.     XA_MSG_COMMAND_OUTPUT_MODULES_LIST = 29
  40.     XA_MSG_COMMAND_CODEC_SEND_MESSAGE = 30
  41.     XA_MSG_COMMAND_CODEC_MODULE_REGISTER = 31
  42.     XA_MSG_COMMAND_CODEC_MODULE_QUERY = 32
  43.     XA_MSG_COMMAND_CODEC_MODULES_LIST = 33
  44.     XA_MSG_SET_PLAYER_MODE = 34
  45.     XA_MSG_GET_PLAYER_MODE = 35
  46.     XA_MSG_SET_PLAYER_ENVIRONMENT_INTEGER = 36
  47.     XA_MSG_GET_PLAYER_ENVIRONMENT_INTEGER = 37
  48.     XA_MSG_SET_PLAYER_ENVIRONMENT_STRING = 38
  49.     XA_MSG_GET_PLAYER_ENVIRONMENT_STRING = 39
  50.     XA_MSG_UNSET_PLAYER_ENVIRONMENT = 40
  51.     XA_MSG_SET_INPUT_NAME = 41
  52.     XA_MSG_GET_INPUT_NAME = 42
  53.     XA_MSG_SET_INPUT_MODULE = 43
  54.     XA_MSG_GET_INPUT_MODULE = 44
  55.     XA_MSG_SET_INPUT_POSITION_RANGE = 45
  56.     XA_MSG_GET_INPUT_POSITION_RANGE = 46
  57.     XA_MSG_SET_INPUT_TIMECODE_GRANULARITY = 47
  58.     XA_MSG_GET_INPUT_TIMECODE_GRANULARITY = 48
  59.     XA_MSG_SET_OUTPUT_NAME = 49
  60.     XA_MSG_GET_OUTPUT_NAME = 50
  61.     XA_MSG_SET_OUTPUT_MODULE = 51
  62.     XA_MSG_GET_OUTPUT_MODULE = 52
  63.     XA_MSG_SET_OUTPUT_POSITION_RANGE = 53
  64.     XA_MSG_GET_OUTPUT_POSITION_RANGE = 54
  65.     XA_MSG_SET_OUTPUT_TIMECODE_GRANULARITY = 55
  66.     XA_MSG_GET_OUTPUT_TIMECODE_GRANULARITY = 56
  67.     XA_MSG_SET_OUTPUT_VOLUME = 57
  68.     XA_MSG_GET_OUTPUT_VOLUME = 58
  69.     XA_MSG_SET_OUTPUT_CHANNELS = 59
  70.     XA_MSG_GET_OUTPUT_CHANNELS = 60
  71.     XA_MSG_SET_OUTPUT_PORTS = 61
  72.     XA_MSG_GET_OUTPUT_PORTS = 62
  73.     XA_MSG_SET_CODEC_QUALITY = 63
  74.     XA_MSG_GET_CODEC_QUALITY = 64
  75.     XA_MSG_SET_CODEC_EQUALIZER = 65
  76.     XA_MSG_GET_CODEC_EQUALIZER = 66
  77.     XA_MSG_SET_CODEC_MODULE = 67
  78.     XA_MSG_GET_CODEC_MODULE = 68
  79.     XA_MSG_SET_NOTIFICATION_MASK = 69
  80.     XA_MSG_GET_NOTIFICATION_MASK = 70
  81.     XA_MSG_SET_DEBUG_LEVEL = 71
  82.     XA_MSG_GET_DEBUG_LEVEL = 72
  83.     
  84.     'notifications from decoder
  85.     XA_MSG_NOTIFY_READY = 73
  86.     XA_MSG_NOTIFY_ACK = 74
  87.     XA_MSG_NOTIFY_NACK = 75
  88.     XA_MSG_NOTIFY_PONG = 76
  89.     XA_MSG_NOTIFY_EXITED = 77
  90.     XA_MSG_NOTIFY_PLAYER_STATE = 78
  91.     XA_MSG_NOTIFY_PLAYER_MODE = 79
  92.     XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_INTEGER = 80
  93.     XA_MSG_NOTIFY_PLAYER_ENVIRONMENT_STRING = 81
  94.     XA_MSG_NOTIFY_INPUT_STATE = 82
  95.     XA_MSG_NOTIFY_INPUT_NAME = 83
  96.     XA_MSG_NOTIFY_INPUT_CAPS = 84
  97.     XA_MSG_NOTIFY_INPUT_POSITION = 85
  98.     XA_MSG_NOTIFY_INPUT_POSITION_RANGE = 86
  99.     XA_MSG_NOTIFY_INPUT_TIMECODE = 87
  100.     XA_MSG_NOTIFY_INPUT_TIMECODE_GRANULARITY = 88
  101.     XA_MSG_NOTIFY_INPUT_MODULE = 89
  102.     XA_MSG_NOTIFY_INPUT_MODULE_INFO = 90
  103.     XA_MSG_NOTIFY_INPUT_DEVICE_INFO = 91
  104.     XA_MSG_NOTIFY_INPUT_FILTER_INFO = 92
  105.     XA_MSG_NOTIFY_OUTPUT_STATE = 93
  106.     XA_MSG_NOTIFY_OUTPUT_NAME = 94
  107.     XA_MSG_NOTIFY_OUTPUT_CAPS = 95
  108.     XA_MSG_NOTIFY_OUTPUT_POSITION = 96
  109.     XA_MSG_NOTIFY_OUTPUT_POSITION_RANGE = 97
  110.     XA_MSG_NOTIFY_OUTPUT_TIMECODE = 98
  111.     XA_MSG_NOTIFY_OUTPUT_TIMECODE_GRANULARITY = 99
  112.     XA_MSG_NOTIFY_OUTPUT_VOLUME = 100
  113.     XA_MSG_NOTIFY_OUTPUT_BALANCE = 101
  114.     XA_MSG_NOTIFY_OUTPUT_PCM_LEVEL = 102
  115.     XA_MSG_NOTIFY_OUTPUT_MASTER_LEVEL = 103
  116.     XA_MSG_NOTIFY_OUTPUT_CHANNELS = 104
  117.     XA_MSG_NOTIFY_OUTPUT_PORTS = 105
  118.     XA_MSG_NOTIFY_OUTPUT_MODULE = 106
  119.     XA_MSG_NOTIFY_OUTPUT_MODULE_INFO = 107
  120.     XA_MSG_NOTIFY_OUTPUT_DEVICE_INFO = 108
  121.     XA_MSG_NOTIFY_OUTPUT_FILTER_INFO = 109
  122.     XA_MSG_NOTIFY_STREAM_MIME_TYPE = 110
  123.     XA_MSG_NOTIFY_STREAM_DURATION = 111
  124.     XA_MSG_NOTIFY_STREAM_PARAMETERS = 112
  125.     XA_MSG_NOTIFY_STREAM_PROPERTIES = 113
  126.     XA_MSG_NOTIFY_CODEC_QUALITY = 114
  127.     XA_MSG_NOTIFY_CODEC_EQUALIZER = 115
  128.     XA_MSG_NOTIFY_CODEC_MODULE = 116
  129.     XA_MSG_NOTIFY_CODEC_MODULE_INFO = 117
  130.     XA_MSG_NOTIFY_CODEC_DEVICE_INFO = 118
  131.     XA_MSG_NOTIFY_NOTIFICATION_MASK = 119
  132.     XA_MSG_NOTIFY_DEBUG_LEVEL = 120
  133.     XA_MSG_NOTIFY_PROGRESS = 121
  134.     XA_MSG_NOTIFY_DEBUG = 122
  135.     XA_MSG_NOTIFY_ERROR = 123
  136.     XA_MSG_NOTIFY_PRIVATE_DATA = 124
  137.     
  138.     'commands to timesync
  139.     XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULE_REGISTER = 125
  140.     XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULE_QUERY = 126
  141.     XA_MSG_COMMAND_FEEDBACK_HANDLER_MODULES_LIST = 127
  142.     XA_MSG_COMMAND_FEEDBACK_HANDLER_EXIT = 128
  143.     XA_MSG_COMMAND_FEEDBACK_HANDLER_START = 129
  144.     XA_MSG_COMMAND_FEEDBACK_HANDLER_STOP = 130
  145.     XA_MSG_COMMAND_FEEDBACK_HANDLER_PAUSE = 131
  146.     XA_MSG_COMMAND_FEEDBACK_HANDLER_RESTART = 132
  147.     XA_MSG_COMMAND_FEEDBACK_HANDLER_FLUSH = 133
  148.     XA_MSG_COMMAND_FEEDBACK_HANDLER_SEND_MESSAGE = 134
  149.     XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_AUDIO_EVENT = 135
  150.     XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_TAG_EVENT = 136
  151.     XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_TIMECODE_EVENT = 137
  152.     XA_MSG_COMMAND_FEEDBACK_HANDLER_QUEUE_POSITION_EVENT = 138
  153.     XA_MSG_SET_FEEDBACK_AUDIO_EVENT_RATE = 139
  154.     XA_MSG_GET_FEEDBACK_AUDIO_EVENT_RATE = 140
  155.     XA_MSG_SET_FEEDBACK_HANDLER_NAME = 141
  156.     XA_MSG_GET_FEEDBACK_HANDLER_NAME = 142
  157.     XA_MSG_SET_FEEDBACK_HANDLER_MODULE = 143
  158.     XA_MSG_GET_FEEDBACK_HANDLER_MODULE = 144
  159.     XA_MSG_SET_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER = 145
  160.     XA_MSG_GET_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER = 146
  161.     XA_MSG_SET_FEEDBACK_HANDLER_ENVIRONMENT_STRING = 147
  162.     XA_MSG_GET_FEEDBACK_HANDLER_ENVIRONMENT_STRING = 148
  163.     XA_MSG_UNSET_FEEDBACK_HANDLER_ENVIRONMENT = 149
  164.     
  165.     'notifications from timesync
  166.     XA_MSG_NOTIFY_FEEDBACK_AUDIO_EVENT_RATE = 150
  167.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_STATE = 151
  168.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_MODULE = 152
  169.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_MODULE_INFO = 153
  170.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_NAME = 154
  171.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_INFO = 155
  172.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_ENVIRONMENT_INTEGER = 156
  173.     XA_MSG_NOTIFY_FEEDBACK_HANDLER_ENVIRONMENT_STRING = 157
  174.     XA_MSG_NOTIFY_FEEDBACK_AUDIO_EVENT = 158
  175.     XA_MSG_NOTIFY_FEEDBACK_TAG_EVENT = 159
  176.     
  177.     'sentinel
  178.     XA_MSG_LAST = 160
  179. End Enum
  180.  
  181. 'input state
  182. Public Enum InputState
  183.     XA_INPUT_STATE_OPEN = 0
  184.     XA_INPUT_STATE_CLOSED = 1
  185. End Enum
  186.  
  187. 'output state
  188. Public Enum OutputState
  189.     XA_OUTPUT_STATE_OPEN = 0
  190.     XA_OUTPUT_STATE_CLOSED = 1
  191. End Enum
  192.  
  193.  
  194. 'OUTPUT CHANNELS
  195. Public Enum XA_OutputChannels
  196.     XA_OUTPUT_CHANNELS_STEREO = 0
  197.     XA_OUTPUT_CHANNELS_MONO_LEFT = 1
  198.     XA_OUTPUT_CHANNELS_MONO_RIGHT = 2
  199.     XA_OUTPUT_CHANNELS_MONO_MIX = 3
  200. End Enum
  201.  
  202.  
  203. Public Type XA_InputStreamInfo
  204.     mChanged As Long             '0 if the stream information has not changed since the last decoded frame, or non zero if it has
  205.     mLevel As Long               'MPEG syntax level (1 for MPEG1, 2 for MPEG2, 0 for MPEG2.5)
  206.     mLayer As Long               'MPEG layer (1, 2 or 3)
  207.     mBitrate As Long             'MPEG bitrate (in bits per second)
  208.     mFrequency As Long           'MPEG sampling frequency (in Hz)
  209.     mMode As Long                'MPEG mode (0 for stereo, 1 for joint-stereo, 2 for dual-channel, 3 for mono)
  210.     mDuration As Long            'estimated stream duration (in milliseconds)
  211. End Type
  212.  
  213. Public Type XA_TimeCode
  214.     mH As Long       'hours
  215.     mM As Long       'minutes
  216.     mS As Long       'seconds
  217.     mF As Long       'fractures in 100th of second
  218. End Type
  219.  
  220. Public Type XA_StatusInfo
  221.     mFrame As Long               'current frame number
  222.     mPosition As Single          'Value between 0.0 and 1.0 giving the relative position in the stream
  223.     mInfo As XA_InputStreamInfo  'input stream structure
  224.     mTimecode As XA_TimeCode     'time code structure
  225. End Type
  226.  
  227. Public Type XA_AbsoluteTime
  228.     mSeconds As Long
  229.     mMicroseconds As Long
  230. End Type
  231.  
  232. Public Type XA_EnvironmentInfo
  233.     mName As String
  234.     mInteger As Long
  235.     mString As String
  236. End Type
  237.  
  238. Public Type XA_TimecodeInfo
  239.     mH As Byte
  240.     mM As Byte
  241.     mS As Byte
  242.     mF As Byte
  243. End Type
  244.  
  245. Public Type XA_NackInfo
  246.     mCommand As Byte
  247.     mCode As Integer
  248. End Type
  249.  
  250. Public Type XA_VolumeInfo
  251.     mMasterLevel As Byte
  252.     mPCMLevel As Byte
  253.     mBalance As Byte
  254. End Type
  255.  
  256. Public Type XA_PositionInfo
  257.     mOffset As Long
  258.     mRange As Long
  259. End Type
  260.  
  261. Public Type XA_ModuleInfo
  262.     nID As Byte
  263.     mNBDevices As Byte
  264.     mName As String
  265.     mDescription As String
  266. End Type
  267.  
  268. Public Type XA_FilterInfo
  269.     nID As Integer
  270.     mName As String
  271. End Type
  272.  
  273. Public Type XA_DeviceInfo
  274.     mModuleID As Byte
  275.     mIndex As Byte
  276.     mFlags As Byte
  277.     mName As String
  278.     mDescription As String
  279. End Type
  280.  
  281. Public Type XA_StreamParameters
  282.     mFrequency As Long
  283.     mBitrate As Integer
  284.     mNBChannels As Byte
  285. End Type
  286.  
  287. Public Type XA_ModuleMessage
  288.     mType As Integer
  289.     mSize As Long
  290.     mData As Long
  291. End Type
  292.  
  293. Public Type XA_TagEvent
  294.     mWhen As XA_AbsoluteTime
  295.     mTag As Long
  296. End Type
  297.  
  298. Public Type XA_AudioEvent
  299.     mWhen As XA_AbsoluteTime
  300.     mSamplingFrequency As Long
  301.     mNBChannels As Integer
  302.     mNBSamples As Integer
  303.     mSamples As String
  304. End Type
  305.  
  306. Public Type XA_TimecodeEvent
  307.     mWhen As XA_AbsoluteTime
  308.     mTimecode As XA_TimecodeInfo
  309. End Type
  310.  
  311. Public Type XA_PositionEvent
  312.     mWhen As XA_AbsoluteTime
  313.     mPosition As XA_PositionInfo
  314. End Type
  315.  
  316. Public Type XA_ProgressInfo
  317.     mSource As Byte
  318.     mCode As Byte
  319.     mValue As Integer
  320.     mMessage As String
  321. End Type
  322.  
  323. Public Type XA_DebugInfo
  324.     mSource As Byte
  325.     mLevel As Byte
  326.     mMessage As String
  327. End Type
  328.  
  329. Public Type XA_ErrorInfo
  330.     mSource As Byte
  331.     mCode As Integer
  332.     mMessage As String
  333. End Type
  334.  
  335. Public Type XA_PrivateData
  336.     mSource As Byte
  337.     mType As Integer
  338.     mData As Long
  339.     mSize As Long
  340. End Type
  341.  
  342. Public Type XA_EqualizerInfo
  343.     eleft(XA_DECODER_EQUALIZER_NB_BANDS) As Byte
  344.     eright(XA_DECODER_EQUALIZER_NB_BANDS) As Byte
  345. End Type
  346.  
  347. Public Enum XA_PropertyType
  348.     XA_PROPERTY_TYPE_STRING
  349.     XA_PROPERTY_TYPE_INTEGER
  350. End Enum
  351.  
  352. Public Type XA_PropertyValue
  353.     mInteger As Long
  354.     mString As String
  355. End Type
  356.  
  357. Public Type XA_Property
  358.     mName As String
  359.     mType As XA_PropertyType
  360.     mValue As XA_PropertyValue
  361. End Type
  362.  
  363. Public Type XA_PropertyList
  364.     mNBProperties As Long
  365.     mProperties As XA_Property
  366. End Type
  367.  
  368. 'INPUT/OUTPUT STATE
  369. Public Enum XA_InputOutputState
  370.     XA_STATE_OPEN = 0
  371.     XA_STATE_CLOSED = 1
  372. End Enum
  373.  
  374. 'PLAYER STATE
  375. Public Enum XA_PlayerState
  376.     XA_PLAYER_STATE_STOPPED = 0
  377.     XA_PLAYER_STATE_PLAYING = 1
  378.     XA_PLAYER_STATE_PAUSED = 2
  379.     XA_PLAYER_STATE_EOS = 3
  380. End Enum
  381.  
  382. Public Type XA_Message
  383.     mCode As XA_MessageCode
  384.     'data structure follows
  385.     mBuffer As String
  386.     mName As String
  387.     mString As String
  388.     mMimeType As String
  389.     mModuleID As Integer
  390.     mMode As Long
  391.     mChannels As Byte
  392.     mQuality As Byte
  393.     mDuration As Long
  394.     mRange As Long
  395.     mGranularity As Long
  396.     mCaps As Long
  397.     mPorts As Byte
  398.     mAck As Byte
  399.     mTag As Long
  400.     mDebugLevel As Byte
  401.     mNotificationMask As Long
  402.     mRate As Byte
  403.     mNack As XA_NackInfo
  404.     mVolume As XA_VolumeInfo
  405.     mPosition As XA_PositionInfo
  406.     mEqualizer As XA_EqualizerInfo
  407.     mModuleinfo As XA_ModuleInfo
  408.     mFilterInfo As XA_FilterInfo
  409.     mDeviceInfo As XA_DeviceInfo
  410.     mStreamParameters As XA_StreamParameters
  411.     mEnvironmentInfo As XA_EnvironmentInfo
  412.     mTimecode As XA_TimecodeInfo
  413.     mModuleMessage As XA_ModuleMessage
  414.     mTagEvent As XA_TagEvent
  415.     mAudioEvent As XA_AudioEvent
  416.     mTimecodeEvent As XA_TimecodeEvent
  417.     mPositionEvent As XA_PositionEvent
  418.     mProperties As XA_PropertyList
  419.     mWhen As XA_AbsoluteTime
  420.     mProgress As XA_ProgressInfo
  421.     mDebug As XA_DebugInfo
  422.     mError As XA_ErrorInfo
  423.     mPrivateData As XA_PrivateData
  424.     mInputState As XA_InputOutputState
  425.     mOutputState As XA_InputOutputState
  426.     mPlayerState As XA_PlayerState
  427.     mInputStreamInfo As XA_InputStreamInfo
  428.     'end of data structure
  429. End Type
  430.  
  431.  
  432.  
  433. 'open new player if par=0 then msges will be sent to player, otherwise to specified window handle hWnd
  434. Public Declare Function player_new Lib "xaudio.dll" (hPlayer As Long, par As Long) As Long
  435. 'delete specified player
  436. Public Declare Function player_delete Lib "xaudio.dll" (ByVal hPlayer As Long) As Long
  437. Public Declare Function player_set_priority Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal par As Long) As Long
  438. Public Declare Function player_get_priority Lib "xaudio.dll" (ByVal hPlayer As Long) As Long
  439. Public Declare Function control_message_send_S Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, ByVal msg_str As String) As Long
  440. Public Declare Function control_message_send_N Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long) As Long
  441. Public Declare Function control_message_send_I Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, ByVal dat As Long) As Long
  442. 'Public Declare Function control_message_get Lib "xaudio.dll" (hPlayer As Long, status As XA_Message) As Long
  443. 'Public Declare Function control_message_wait Lib "xaudio.dll" (ByVal hPlayer As Long, status As XA_Message, ByVal TimeOut As Long) As Long
  444. 'Public Declare Function control_message_sprint Lib "xaudio.dll" (strBuff As String, status As XA_Message) As Long
  445. 'Public Declare Function xaudio_get_version Lib "xaudio.dll" (ByVal cc As Long) As Long
  446. Public Declare Function control_message_send_IPI Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, ByVal dat1 As Long, ptr As Any, ByVal dat2 As Long) As Long
  447. Public Declare Function control_message_send_II Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, ByVal dat1 As Long, ByVal dat2 As Long) As Long
  448. Public Declare Function control_message_send_P Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, dat As Any) As Long
  449. Public Declare Function control_message_send_III Lib "xaudio.dll" (ByVal hPlayer As Long, ByVal msg_code As Long, ByVal dat1 As Long, ByVal dat2 As Long, ByVal dat3 As Long) As Long
  450.  
  451.  
  452.  
  453. 'FEEDBACK HANDLER STATE
  454. Public Const XA_FEEDBACK_HANDLER_STATE_STARTED = 0
  455. Public Const XA_FEEDBACK_HANDLER_STATE_STOPPED = 1
  456.  
  457.  
  458. 'ERROR CODES
  459. Public Const XA_SUCCESS = 0
  460. Public Const XA_FAILURE = -1
  461.  
  462. 'Priorities
  463. Public Const XA_CONTROL_PRIORITY_LOWEST = 0
  464. Public Const XA_CONTROL_PRIORITY_LOW = 1
  465. Public Const XA_CONTROL_PRIORITY_NORMAL = 2
  466. Public Const XA_CONTROL_PRIORITY_HIGH = 3
  467. Public Const XA_CONTROL_PRIORITY_HIGHEST = 4
  468.  
  469. 'general error codes
  470. Public Const XA_ERROR_BASE_GENERAL = -100
  471. Public Const XA_ERROR_OUT_OF_MEMORY = XA_ERROR_BASE_GENERAL - 0
  472. Public Const XA_ERROR_OUT_OF_RESOURCES = XA_ERROR_BASE_GENERAL - 1
  473. Public Const XA_ERROR_INVALID_PARAMETERS = XA_ERROR_BASE_GENERAL - 2
  474. Public Const XA_ERROR_INTERNAL = XA_ERROR_BASE_GENERAL - 3
  475. Public Const XA_ERROR_TIMEOUT = XA_ERROR_BASE_GENERAL - 4
  476. Public Const XA_ERROR_VERSION_EXPIRED = XA_ERROR_BASE_GENERAL - 5
  477. Public Const XA_ERROR_VERSION_MISMATCH = XA_ERROR_BASE_GENERAL - 6
  478.  
  479. 'network error codes
  480. Public Const XA_ERROR_BASE_NETWORK = -200
  481. Public Const XA_ERROR_CONNECT_TIMEOUT = XA_ERROR_BASE_NETWORK - 0
  482. Public Const XA_ERROR_CONNECT_FAILED = XA_ERROR_BASE_NETWORK - 1
  483. Public Const XA_ERROR_CONNECTION_REFUSED = XA_ERROR_BASE_NETWORK - 2
  484. Public Const XA_ERROR_ACCEPT_FAILED = XA_ERROR_BASE_NETWORK - 3
  485. Public Const XA_ERROR_LISTEN_FAILED = XA_ERROR_BASE_NETWORK - 4
  486. Public Const XA_ERROR_SOCKET_FAILED = XA_ERROR_BASE_NETWORK - 5
  487. Public Const XA_ERROR_SOCKET_CLOSED = XA_ERROR_BASE_NETWORK - 6
  488. Public Const XA_ERROR_BIND_FAILED = XA_ERROR_BASE_NETWORK - 7
  489. Public Const XA_ERROR_HOST_UNKNOWN = XA_ERROR_BASE_NETWORK - 8
  490. Public Const XA_ERROR_HTTP_INVALID_REPLY = XA_ERROR_BASE_NETWORK - 9
  491. Public Const XA_ERROR_HTTP_ERROR_REPLY = XA_ERROR_BASE_NETWORK - 10
  492. Public Const XA_ERROR_HTTP_FAILURE = XA_ERROR_BASE_NETWORK - 11
  493. Public Const XA_ERROR_FTP_INVALID_REPLY = XA_ERROR_BASE_NETWORK - 12
  494. Public Const XA_ERROR_FTP_ERROR_REPLY = XA_ERROR_BASE_NETWORK - 13
  495. Public Const XA_ERROR_FTP_FAILURE = XA_ERROR_BASE_NETWORK - 14
  496.  
  497. 'control error codes
  498. Public Const XA_ERROR_BASE_CONTROL = -300
  499. Public Const XA_ERROR_PIPE_FAILED = XA_ERROR_BASE_CONTROL - 0
  500. Public Const XA_ERROR_FORK_FAILED = XA_ERROR_BASE_CONTROL - 1
  501. Public Const XA_ERROR_SELECT_FAILED = XA_ERROR_BASE_CONTROL - 2
  502. Public Const XA_ERROR_PIPE_CLOSED = XA_ERROR_BASE_CONTROL - 3
  503. Public Const XA_ERROR_PIPE_READ_FAILED = XA_ERROR_BASE_CONTROL - 4
  504. Public Const XA_ERROR_PIPE_WRITamplingFrequeneT_STATE_CLOSED = 1
  505. End Enum
  506.  
  507. FL - 3
  508. aio7 XA_ERDIED 1
  509. PubliISTErR_BASE_GENERALoeDeclare Function player_new Lib "ng
  510.     mChannels As Byte
  511.     mQS
  512. Public Const XA_ERRmeFAILED = XA_ERROR_BAiO Anyong            'estima= XA_ERROR_BASE_NETtnyonT        'estima= XA_ERROR_BASE_NETtnyonTOA_ERROR_TIMEOUT = XA_ERRO_WRI0oeERRORoeERRORoeERRMic Const XA_ERRORH ITamplingFrequeneT_STATE_CLOSER_BASE Const SROR_PIPE_FAILED = XA_ERROR_B2ArISTAROR_PIPE_= XA_ATE
  513. PRROR2 Anyong            'esA_ERROR_PBs As Long
  514. End Type
  515.  
  516. Pub msg_code As Lon'hPlayerOURCES LY =s_FAILED = XA_ERROR_B2ArISdPPED = XA_ER_OUT_OF_RESOURCAILEEST = 3_PIPE_= XA_ATE
  517. PInERROR_PIPE_READ_FORoeERRACES = XA_ERROR_BASE_GENERALRRON,t XA_ERAs StrigoSE_GENERALRRON,t XA_BASE
  518.     mWheBROR_INVeeTic CGBASE_NETWORK - 12_eSTATE= XA_ERiROR_PIP 9PmWheBROR_INVeeTic CGBASEype
  519.  
  520. Public Type XA_PoBASE_NETSdPPEWBASEype
  521.  
  522. Public Type XAiNPLY = _NETSdPPEWBASEype
  523. c Type XAiNPaPPEWBASEype
  524.  
  525. PublicLITY = 63
  526.    lic Type XAiNPLY = _NETSRROR_TIMEOUT = XA.ype
  527.  
  528. Public Type XAblic Cos
  529. PubliclEpe XAiNPLY = _NETeERRANASEyAIR_BrublVN9ETeERs Byte
  530.     mCode AA_PLAYER_STATE_PAUSED hPlayyAIlPublic Type XAblic CtA_PLAYER_STATE_PAUSEDk1EMsID12_eSTATEAblic CtA_PLAYER_STATE_PAUSEDk1EMsID12_eSTATEAblic CtA_PRERROR_BAiO Anyong    MeInERROR_PIPE_READ_FdEdlicuA Lib "ng
  531.     mChannels As Byte
  532.     mQS
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554. MmRROR_BASOm- 6
  555.  
  556. 'network error codes
  557. Public ACK HANDLER STAROR
  558. 'network-Ds
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577. 6etwork-eRANASEyAIR_BrublVN9ETdte
  578.     mQS
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587. r-eRANAerV_PLAUrLOR_SELEC  mQS
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596. r-eRANAerVdk errou0 for MPEG2.5)
  597.     mcLIeRANAerdte
  598.     mQS
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607. LE)
  608.     mcLIeRANAerNaPPEWN1IN    mcLIeRANAerdte mQSrNaPPEWsMPE1
  609.  
  610. r-eRANAerVd_
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619. LE)
  620.     n0PEWsMPE1 d5)
  621.     mcLIeRANA1PE_READ_FdEdlicuA LiMPE1
  622.  
  623. r-OTaEyAIR_BrublVN9ETeoR_SELEC  mQS
  624. -OTaEy
  625.  
  626. LE)
  627.     mcLIeRANAerNaPPEWN1IA_ERResDe   mChannels As ByteRANAerndweblic ACK HANDLER STAROR
  628. S
  629. APEWRsASEype
  630.  
  631. Public Type XtGa= XA_ERRO_WRI0oeERE_CONTROL - 1
  632. Public"= 2
  633. ic CGBASEyCONTROLubl 7
  634. Public Const1lAPEWRsASEype
  635.  
  636. Public Type XtGa= hIutStOLubl 7
  637. Public ConsyN XA_ERROR_B2ArISdPPED RO_WRI0oeERE_CONTRc_cokdsIoeERSIXA_ERROR_B2ArISdPdrnD RO_WRI0oeERE_CONTRc_
  638. S
  639. APEaOs1ennSoeMIoeERSIXA_ERROR_B2ArISdPdoE_FAILED = XA_ERXA_SdPdoE_F
  640. wm0oeERE_CONTROL7
  641. Public Const1lAPEWRtROL7
  642. Public Const1lAPNORK - 12_eSTATE= XA_ERAPEWRtROLlAPNORK - 12_eSTATE= XS nst1lAP3lAPEWRtROL7
  643. Public Co - 12_eSTATE= XS nsWsMPEs8l elsg
  644. PubliXA_ERROR_PIPE_CLO= XS nic Co - 12_eSTATE= 
  645.  
  646.  
  647.  
  648.  
  649.  
  650. r-eRANAerVdk errou0meeSTATuO= FAILED = BD OspveSTATuO= FAILED = BD OspveSTATuO= FAIfXA_D OSml,EPOsp_WRI0oeEERROR_PIPE_CLO= XS nic Co - 12_eSTATE= 
  651.  
  652.  
  653.  
  654.  
  655.  
  656. r-eRANAerVdk errou0mfXA_D OSAp_WRI0oeEENAeIXA_D OSAp_WRI0oeEENAeIXAeOTATuO= FAILED = BD OR_BASE_NETWORK - 13
  657. PubtnyonP FAILES XA_ERAPEWRtROLlAPNORK - 1  NTRATE= 
  658.  
  659. fTeERs Byte
  660.     mCode 2STuO= FAILED = BD OR_BASE_NETWORK - 13
  661. PnwCclareerueD OR_BASESeOTAE_NsASEypeCzAerVdkeNA9EWBASE FAO= FAILeLong
  662.    eD S"S